#include<stdio.h>
#include<stdlib.h>
#include<time.h>

/*
真题练习
    某班级组织野外郊游，想要在A、B、C、D四个景点中选出其中一个。
    现在班上80为学生进行投票，找出投票数量最多的景点。
        学生投票用随机数模拟
        如果多个景点票数一致的话，按自然顺序优先级（A>B>C>D）
*/

struct spot
{
    char name[100];
    int count;
};


int main()
{
    struct spot arr[4] = 
    {
        {"A景点",0},
        {"B景点",0},
        {"C景点",0},
        {"D景点",0},
    };

    srand(time(NULL));//定义时间戳为种子

    for (int i = 0; i < 80; i++)
    {
        int vote = rand() % 4;//学生投票结果；arr中的索引
        arr[vote].count++;//为对应索引的count+1;
    }

    for (int i = 0; i < 4; i++)//遍历
    {
        struct spot temp = arr[i];
        printf("当前%s的票数为%d票。\n",temp.name,temp.count);
    }

    int max = arr[0].count;//寻找最大值
    for (int i = 0; i < 4; i++)
    {
        struct spot temp = arr[i];
        if (temp.count > max)
        {
            max = temp.count;
        }
    }

    for (int i = 0; i < 4; i++)//遍历数组，看最大值是谁？如果A恰好等于最大值，就不在往后查找了
    {
        struct spot temp = arr[i];
        if (temp.count == max)
        {
            printf("投票最多的是：%s,获得了%d票\n",temp.name,temp.count);
        }
    }

    return 0;
}